Improving the Viability of Mental Models Held by Novice Programmers
نویسندگان
چکیده
Recent research has found that many novice programmers often hold non-viable mental models of basic programming concepts such as assignment and object reference. This paper proposes a constructivist-based teaching model, integrating a cognitive conflict strategy with program visualization, with the aim of improving novice programmers’ mental models. The results of a preliminary empirical study suggest that, for the relatively straightforward concept of assignment, tight integration of program visualization with a cognitive conflict event that highlights a student’s inappropriate understanding can help improve students’ non-viable mental models. 14 out of 18 participants who held non-viable mental models of the assignment process successfully changed their model to be viable as a result of the proposed teaching model.
منابع مشابه
Investigating and improving novice programmers’ mental models of programming concepts
.................................................................................................................................III ACKNOWLEDGEMENTS..........................................................................................................IV PUBLICATIONS........................................................................................................................... V C...
متن کاملOn the Design and Development of a UML-Based Visual Environment for Novice Programmers
Few beginners find learning to program easy. There are many factors at work in this phenomenon with some being simply inherent in the subject itself, while others have more to do with deficiencies in learning methods and resources. As a result, many programming environments, software applications, and learning tools have been developed to address the difficulties faced by novice programmers. Of...
متن کاملEnhancing Adaptivity and Intelligent Tutoring in Distributed Pair Programming Systems to Support Novice Programmers
Pair programming is a computer programming technique where two programmers share one computer for software development. When applied in an educational context, pair programming has been reported as an effective teaching method, mainly improving student satisfaction, retention rates and program quality. Several systems have been developed to cover the need for pair programming over distance. We ...
متن کاملHow Effective Are Tutoring Software? Written By: Tiarra Bonner Mentor:
This research was based on observation of different tutoring software and what they had to offer computer science majors. Because of the vast amount of people who studied tutoring software, I was able to use their research and grab an understanding of what different software had to offer. Throughout this research, I was able to point out the reasons why novice programmers have trouble through t...
متن کاملResearch Proposal ver 1.5
Test-Driven Development (TDD), has been argued to provide many benefits in improving code quality (e.g. defect reduction), with minimal impact to cost (e.g. productivity). However, it has been noted that it is difficult to teach TDD to novice programmers, as the idea that tests can be written before code is a radical concept for most software developers (Janzen Saiedian 2005). Another factor co...
متن کامل